home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / wtjmarch.zip / HATCH.ZIP / CPP.TXT next >
Text File  |  1992-02-21  |  2KB  |  111 lines

  1. FIGURE 3: C++ example of Multiple Inheritance
  2.  
  3. const int LEN = 80;
  4.  
  5. class student
  6.   {
  7.   private:
  8.     char school[LEN];
  9.     char degree[LEN];
  10.   public:
  11.     void getedu()
  12.       {
  13.       cout << "Enter name of school: ";
  14.       cin >> school;
  15.       cout << "Enter highest degree: ";
  16.       cin >> degree;
  17.       }
  18.     void putedu()
  19.       {
  20.       cout << "\n School or university:  " << school;
  21.       cout << "\n Highest degree earned: " << degree;
  22.       }
  23.     };
  24.  
  25. class employee
  26.   {
  27.   private:
  28.     char name[LEN];
  29.     unsigned long number;
  30.   public:
  31.     void getdata()
  32.       {
  33.       cout << "\n Enter last name: "; cin >> name;
  34.       cout << "\n Enter employee number: "; cin >> number;
  35.       }
  36.     void putdata()
  37.       {
  38.       cout << "\ Name: " << name;
  39.       cout << "\Number: "; << number;
  40.       }
  41.   };
  42.  
  43. class manager : private employee, private student
  44.   {
  45.   private:
  46.     char title[LEN];
  47.     double dues;
  48.   public:
  49.     void getdata()
  50.       {
  51.       employee::getdata();
  52.       cout << "Enter title: "; cin >> title;
  53.       cout << "Enter golf club dues: "; cin >> dues;
  54.       student::getedu();
  55.       }
  56.     void putdata()
  57.       {
  58.       employee::putdata();
  59.       cout << "\n Title: " << title;
  60.       cout << "\n Golf club dues: " << dues;
  61.       student::putedu();
  62.       }
  63.   };
  64.  
  65. class clerk: private employee, private student
  66.   {
  67.   private:
  68.     char department[LEN];
  69.     int speed;
  70.   public:
  71.     void getdata()
  72.       {
  73.       employee::getdata();
  74.       cout << "Enter department: "; cin >> department;
  75.       cout << "Enter typing speed: "; cin >> speed;
  76.       student::getedu();
  77.       }
  78.     void putdata()
  79.       {
  80.       employee::putdata();
  81.       cout << "\n Department: " << department;
  82.       cout << "\n Typing speed: " << speed;
  83.       student::putedu();
  84.       }
  85.   };
  86.  
  87. void main()
  88.   {
  89.   manager m1;
  90.   clerk c1, c2;
  91.  
  92.   cout << "\nEnter data for manager 1";
  93.   m1.getdata();
  94.  
  95.   cout << "\nEnter data for clerk 1";
  96.   c1.getdata();
  97.  
  98.   cout << "\nEnter data for clerk 2";
  99.   c2.getdata();
  100.  
  101.   cout "\Data on manager 1";
  102.   m1.putdata();
  103.  
  104.   cout << "\nData on clerk 1";
  105.   c1.putdata();
  106.  
  107.   cout << "\nData on clerk 2";
  108.   c2.putdata();
  109.  
  110.   }
  111.